package com.haierp.service;

import java.util.List;

import com.baomidou.framework.service.ISuperService;
import com.haierp.model.FindItemSku;
import com.haierp.model.Inventory;
import com.haierp.util.JsonPageResult;
import com.haierp.vo.ItemSkuQueryVO;

public interface IFindItemSkuService extends ISuperService<FindItemSku> {

	/**
	 * 按照条件分页查询商品
	 * @param itemQueryVO
	 * @return
	 */
	JsonPageResult<List<FindItemSku>> queryFindItemSkus(ItemSkuQueryVO itemSkuQueryVO);
	
	/**
	 * 根据SKU初始化库存信息
	 * @param itemSkuList
	 * @return
	 */
	List<Inventory> initInventory(List<FindItemSku> itemSkuList);
	
	/**
	 * 新增SKU
	 * @param itemSku
	 */
	void addFindItemSku(FindItemSku itemSku);
	
	/**
	 * update SKU
	 * @param itemSku
	 */
	void updateFindItemSku(FindItemSku itemSku);
	
	/**
	 * 新增SKU
	 * @param itemSku
	 */
//	ItemSku queryById(Long skuId);
	
	/**
	 * itemid 查询skulist
	 * @param itemId
	 * @return
	 */
	List<FindItemSku> queryFindItemSkusByItemId(Long itemId );
	
	Integer queryMaxSkuCodeIndex(Long itemId);
	
	/**
	 * itemid 查询skulist
	 * @param itemId
	 * @return
	 */
	FindItemSku queryFindItemSkusBySkuId(Long skuId );

	/**
	 * 判断sku是否可以删除
	 * @param itemId
	 * @return
	 */
	boolean isCanDeleteSku(Long skuId);

	/**
	 * 删除sku
	 * @param skuId
	 */
	void deleteSkuById(Long skuId);

	FindItemSku queryFindItemSkuById(Long skuId);
	
	/**
	 * 按照item通过分页查询商品
	 * @param itemQueryVO
	 * @return
	 */
	JsonPageResult<List<FindItemSku>> queryItemSkusByPurchaseStatus(ItemSkuQueryVO itemSkuQueryVO);

}
